package com.photoeditor.demo.statistics;

import android.content.Context;

import com.common.base.utils.DebugUtil;
//import com.common.push.Push;
//import com.common.push.flurry.PushMessage;
import com.common.commercialize.channel.BuyUserManager;
import com.common.statistics.StatisticsManager;
import com.photoeditor.R;
import com.photoeditor.demo.app.TestUser;

//import com.umeng.message.entity.UMessage;

/**
 * Created by mutour on 2017/1/14.
 */

public class Umeng {
    private static final String TAG = Umeng.class.getName();

    // 程序前台时是否显示通知
    private static boolean mNotificaitonOnForeground = true;

    /**
     *
     * @param context
     * @param buyUserType 买量类型，用于统计里的渠道区分
     */
    public static void initStatistics(final Context context, int buyUserType) {
        final boolean isTestUser = DebugUtil.isDebuggable() || TestUser.getTestFile() != null;
        StatisticsManager.init(context, "", isTestUser, buyUserType, R.mipmap.ic_launcher, BuyUserManager.getInstance().getBuyUserSource());
    }

//    public static void initPush(final Context context) {
//        final boolean isTestUser = DebugUtil.isDebuggable() || TestUser.isTestUser();
//        Push.init(context, mNotificaitonOnForeground, mNotificationClickCallback, mPushMessageCallback, isTestUser);
//    }


//    static String getMessageId(@NonNull PushMessage umsg) {
//        String customMsgid;
//        if (umsg.extra != null && umsg.extra.containsKey(MSG_CUSTOM_EXTRA_KEY_MSGID)) {
//            customMsgid = umsg.extra.get(MSG_CUSTOM_EXTRA_KEY_MSGID);
//        } else if (!TextUtils.isEmpty(umsg.getMessageId())) {
//            if (umsg.getMessageId().length() <= 16) {
//                customMsgid = umsg.getMessageId();
//            } else {
//                customMsgid = "u" + umsg.getMessageId().substring(umsg.getMessageId().length() - 15, umsg.getMessageId().length());
//            }
//        } else {
//            SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
//            Date curDate = new Date(System.currentTimeMillis());//获取当前时间
//            customMsgid = formatter.format(curDate);
//        }
//        return customMsgid;
//    }


//    static Push.NotificationClickCallback mNotificationClickCallback = new Push.NotificationClickCallback() {
//
//        @Override
//        public void dismissNotification(Context context, PushMessage umsg) {
////            StatisticsUtils.statisicsNotificationMessage(getMessageId(umsg),
////                    StatisticsConstant.UMENG_MESSAGE_TYPE_close);
//        }
//
//        @Override
//        public boolean autoUpdate(Context context) {
//            return false;
//        }
//
//        @Override
//        public boolean openUrl(Context context, PushMessage umsg, String url, Map<String, String> extra) {
////            StatisticsUtils.statisicsNotificationMessageClick(getMessageId(umsg),
////                    StatisticsConstant.UMENG_MESSAGE_CLICK_TYPE_url);
//            return false;
//        }
//
//        @Override
//        public boolean openActivity(Context context, PushMessage umsg, String activity, Map<String, String> extra) {
////            StatisticsUtils.statisicsNotificationMessageClick(getMessageId(umsg),
////                    StatisticsConstant.UMENG_MESSAGE_CLICK_TYPE_activity);
//            return false;
//        }
//
//        @Override
//        public boolean launchApp(Context context, PushMessage umsg, Map<String, String> extra) {
////            StatisticsUtils.statisicsNotificationMessageClick(getMessageId(umsg),
////                    StatisticsConstant.UMENG_MESSAGE_CLICK_TYPE_app);
//            return false;
//        }
//
//        @Override
//        public boolean dealWithCustomAction(Context context, PushMessage umsg) {
////            StatisticsUtils.statisicsNotificationMessageClick(getMessageId(umsg),
////                    StatisticsConstant.UMENG_MESSAGE_CLICK_TYPE_custom);
//            return false;
//        }
//    };
//
//    static Push.PushMessageCallback mPushMessageCallback = new Push.PushMessageCallback() {
//
//        /**
//         * 设置通知栏样式
//         * @param context
//         * @param title
//         * @param text
//         * @param largeIcon
//         * @param smallIconId
//         * @param ticker
//         * @param builderId 显示样式，自定义
//         * @param extra
//         * @return 返回NULL，则显示系统显示效果
//         */
//        @Override
//        public Notification getNotification(Context context, PushMessage umsg, String title, String text,
//                                            Bitmap largeIcon, int smallIconId,
//                                            String ticker,
//                                            int builderId, Map<String, String> extra) {
////            StatisticsUtils.statisicsNotificationMessage(getMessageId(umsg),
////                    StatisticsConstant.UMENG_MESSAGE_TYPE_display);
//            return null;
//        }
//
//        /**
//         * 处理自定义消息
//         * @param context
//         * @param custom
//         * @param extra
//         * @return 返回0未处理，返回1处理
//         */
//        @Override
//        public int dealWithCustomMessage(Context context, PushMessage umsg, String custom, Map<String, String> extra) {
//            int state = 0;
//            if(extra != null) {
//                String type = extra.get(MSG_CUSTOM_EXTRA_KEY_TYPE);
//                StatisticsUtils.statisicsMessageCustom(getMessageId(umsg), type);
//                if(TextUtils.equals(type, MSG_CUSTOM_EXTRA_KEY_TYPE_UPDATE)) {
//                    state = dealUpdateMessage(context, getMessageId(umsg), custom, extra);
//                }
//            }
//            return state;
//        }
//
//        private int dealUpdateMessage(Context context, String msgId, String custom, Map<String, String> extra) {
//            UpdateUtil.UpdateInfo updateInfo = new UpdateUtil.UpdateInfo.Builder()
//                    .add(extra)
//                    .add(UpdateUtil.UpdateInfo.TAG_CONTENT, custom)
//                    .add(UpdateUtil.UpdateInfo.TAG_MSGID, msgId)
//                    .build();
//            UpdateUtil.saveUpdateInfo(updateInfo);
//            return 1;
//        }
//    };

    // 自定义消息-自定义参数key
//    public final static String MSG_CUSTOM_EXTRA_KEY_TYPE = "type";
//    public final static String MSG_CUSTOM_EXTRA_KEY_MSGID = "msgid";
//    public final static String MSG_CUSTOM_EXTRA_KEY_SILENT = "silent";
//    public final static String MSG_CUSTOM_EXTRA_KEY_FORCIBLY = "forcibly";
//    public final static String MSG_CUSTOM_EXTRA_KEY_PACKAGENAME = "packagename";
//    public final static String MSG_CUSTOM_EXTRA_KEY_URL = "url";
//    public final static String MSG_CUSTOM_EXTRA_KEY_VERSION = "version";
//
//    // 自定义消息-自定义参数value
//    public final static String MSG_CUSTOM_EXTRA_KEY_TYPE_UPDATE = "update";
//    public final static String MSG_CUSTOM_EXTRA_KEY_TYPE_SPEED_TEST = "speed_test";
}
